/*
 * XML Type:  XSchemaFilter
 * Namespace: http://www.seedwill.com/xul/core
 * Java type: com.seedwill.xul.core.XSchemaFilter
 *
 * Automatically generated - do not modify.
 */
package com.seedwill.xul.core.impl;
/**
 * An XML XSchemaFilter(@http://www.seedwill.com/xul/core).
 *
 * This is a complex type.
 */
public class XSchemaFilterImpl extends com.seedwill.xul.core.impl.XIdentifiedImpl implements com.seedwill.xul.core.XSchemaFilter
{
    private static final long serialVersionUID = 1L;
    
    public XSchemaFilterImpl(org.apache.xmlbeans.SchemaType sType)
    {
        super(sType);
    }
    
    private static final javax.xml.namespace.QName OPERATOR$0 = 
        new javax.xml.namespace.QName("", "operator");
    private static final javax.xml.namespace.QName EXPRESION$2 = 
        new javax.xml.namespace.QName("", "expresion");
    private static final javax.xml.namespace.QName TARGET$4 = 
        new javax.xml.namespace.QName("", "target");
    private static final javax.xml.namespace.QName DEFAULTEXPRESION$6 = 
        new javax.xml.namespace.QName("", "defaultExpresion");
    private static final javax.xml.namespace.QName CONTEXT$8 = 
        new javax.xml.namespace.QName("", "context");
    private static final javax.xml.namespace.QName CASESENSITIVE$10 = 
        new javax.xml.namespace.QName("", "caseSensitive");
    
    
    /**
     * Gets the "operator" element
     */
    public java.lang.String getOperator()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(OPERATOR$0, 0);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "operator" element
     */
    public org.apache.xmlbeans.XmlString xgetOperator()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_element_user(OPERATOR$0, 0);
            return target;
        }
    }
    
    /**
     * True if has "operator" element
     */
    public boolean isSetOperator()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(OPERATOR$0) != 0;
        }
    }
    
    /**
     * Sets the "operator" element
     */
    public void setOperator(java.lang.String operator)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(OPERATOR$0, 0);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_element_user(OPERATOR$0);
            }
            target.setStringValue(operator);
        }
    }
    
    /**
     * Sets (as xml) the "operator" element
     */
    public void xsetOperator(org.apache.xmlbeans.XmlString operator)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_element_user(OPERATOR$0, 0);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_element_user(OPERATOR$0);
            }
            target.set(operator);
        }
    }
    
    /**
     * Unsets the "operator" element
     */
    public void unsetOperator()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(OPERATOR$0, 0);
        }
    }
    
    /**
     * Gets array of all "expresion" elements
     */
    public org.apache.xmlbeans.XmlAnySimpleType[] getExpresionArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            java.util.List targetList = new java.util.ArrayList();
            get_store().find_all_element_users(EXPRESION$2, targetList);
            org.apache.xmlbeans.XmlAnySimpleType[] result = new org.apache.xmlbeans.XmlAnySimpleType[targetList.size()];
            targetList.toArray(result);
            return result;
        }
    }
    
    /**
     * Gets ith "expresion" element
     */
    public org.apache.xmlbeans.XmlAnySimpleType getExpresionArray(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlAnySimpleType target = null;
            target = (org.apache.xmlbeans.XmlAnySimpleType)get_store().find_element_user(EXPRESION$2, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            return target;
        }
    }
    
    /**
     * Returns number of "expresion" element
     */
    public int sizeOfExpresionArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(EXPRESION$2);
        }
    }
    
    /**
     * Sets array of all "expresion" element
     */
    public void setExpresionArray(org.apache.xmlbeans.XmlAnySimpleType[] expresionArray)
    {
        synchronized (monitor())
        {
            check_orphaned();
            arraySetterHelper(expresionArray, EXPRESION$2);
        }
    }
    
    /**
     * Sets ith "expresion" element
     */
    public void setExpresionArray(int i, org.apache.xmlbeans.XmlAnySimpleType expresion)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlAnySimpleType target = null;
            target = (org.apache.xmlbeans.XmlAnySimpleType)get_store().find_element_user(EXPRESION$2, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            target.set(expresion);
        }
    }
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "expresion" element
     */
    public org.apache.xmlbeans.XmlAnySimpleType insertNewExpresion(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlAnySimpleType target = null;
            target = (org.apache.xmlbeans.XmlAnySimpleType)get_store().insert_element_user(EXPRESION$2, i);
            return target;
        }
    }
    
    /**
     * Appends and returns a new empty value (as xml) as the last "expresion" element
     */
    public org.apache.xmlbeans.XmlAnySimpleType addNewExpresion()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlAnySimpleType target = null;
            target = (org.apache.xmlbeans.XmlAnySimpleType)get_store().add_element_user(EXPRESION$2);
            return target;
        }
    }
    
    /**
     * Removes the ith "expresion" element
     */
    public void removeExpresion(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(EXPRESION$2, i);
        }
    }
    
    /**
     * Gets the "target" element
     */
    public java.lang.String getTarget()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(TARGET$4, 0);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "target" element
     */
    public org.apache.xmlbeans.XmlString xgetTarget()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_element_user(TARGET$4, 0);
            return target;
        }
    }
    
    /**
     * Sets the "target" element
     */
    public void setTarget(java.lang.String targetValue)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(TARGET$4, 0);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_element_user(TARGET$4);
            }
            target.setStringValue(targetValue);
        }
    }
    
    /**
     * Sets (as xml) the "target" element
     */
    public void xsetTarget(org.apache.xmlbeans.XmlString targetValue)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_element_user(TARGET$4, 0);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_element_user(TARGET$4);
            }
            target.set(targetValue);
        }
    }
    
    /**
     * Gets array of all "defaultExpresion" elements
     */
    public org.apache.xmlbeans.XmlAnySimpleType[] getDefaultExpresionArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            java.util.List targetList = new java.util.ArrayList();
            get_store().find_all_element_users(DEFAULTEXPRESION$6, targetList);
            org.apache.xmlbeans.XmlAnySimpleType[] result = new org.apache.xmlbeans.XmlAnySimpleType[targetList.size()];
            targetList.toArray(result);
            return result;
        }
    }
    
    /**
     * Gets ith "defaultExpresion" element
     */
    public org.apache.xmlbeans.XmlAnySimpleType getDefaultExpresionArray(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlAnySimpleType target = null;
            target = (org.apache.xmlbeans.XmlAnySimpleType)get_store().find_element_user(DEFAULTEXPRESION$6, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            return target;
        }
    }
    
    /**
     * Returns number of "defaultExpresion" element
     */
    public int sizeOfDefaultExpresionArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(DEFAULTEXPRESION$6);
        }
    }
    
    /**
     * Sets array of all "defaultExpresion" element
     */
    public void setDefaultExpresionArray(org.apache.xmlbeans.XmlAnySimpleType[] defaultExpresionArray)
    {
        synchronized (monitor())
        {
            check_orphaned();
            arraySetterHelper(defaultExpresionArray, DEFAULTEXPRESION$6);
        }
    }
    
    /**
     * Sets ith "defaultExpresion" element
     */
    public void setDefaultExpresionArray(int i, org.apache.xmlbeans.XmlAnySimpleType defaultExpresion)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlAnySimpleType target = null;
            target = (org.apache.xmlbeans.XmlAnySimpleType)get_store().find_element_user(DEFAULTEXPRESION$6, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            target.set(defaultExpresion);
        }
    }
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "defaultExpresion" element
     */
    public org.apache.xmlbeans.XmlAnySimpleType insertNewDefaultExpresion(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlAnySimpleType target = null;
            target = (org.apache.xmlbeans.XmlAnySimpleType)get_store().insert_element_user(DEFAULTEXPRESION$6, i);
            return target;
        }
    }
    
    /**
     * Appends and returns a new empty value (as xml) as the last "defaultExpresion" element
     */
    public org.apache.xmlbeans.XmlAnySimpleType addNewDefaultExpresion()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlAnySimpleType target = null;
            target = (org.apache.xmlbeans.XmlAnySimpleType)get_store().add_element_user(DEFAULTEXPRESION$6);
            return target;
        }
    }
    
    /**
     * Removes the ith "defaultExpresion" element
     */
    public void removeDefaultExpresion(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(DEFAULTEXPRESION$6, i);
        }
    }
    
    /**
     * Gets array of all "context" elements
     */
    public java.lang.String[] getContextArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            java.util.List targetList = new java.util.ArrayList();
            get_store().find_all_element_users(CONTEXT$8, targetList);
            java.lang.String[] result = new java.lang.String[targetList.size()];
            for (int i = 0, len = targetList.size() ; i < len ; i++)
                result[i] = ((org.apache.xmlbeans.SimpleValue)targetList.get(i)).getStringValue();
            return result;
        }
    }
    
    /**
     * Gets ith "context" element
     */
    public java.lang.String getContextArray(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(CONTEXT$8, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) array of all "context" elements
     */
    public org.apache.xmlbeans.XmlString[] xgetContextArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            java.util.List targetList = new java.util.ArrayList();
            get_store().find_all_element_users(CONTEXT$8, targetList);
            org.apache.xmlbeans.XmlString[] result = new org.apache.xmlbeans.XmlString[targetList.size()];
            targetList.toArray(result);
            return result;
        }
    }
    
    /**
     * Gets (as xml) ith "context" element
     */
    public org.apache.xmlbeans.XmlString xgetContextArray(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_element_user(CONTEXT$8, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            return (org.apache.xmlbeans.XmlString)target;
        }
    }
    
    /**
     * Returns number of "context" element
     */
    public int sizeOfContextArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(CONTEXT$8);
        }
    }
    
    /**
     * Sets array of all "context" element
     */
    public void setContextArray(java.lang.String[] contextArray)
    {
        synchronized (monitor())
        {
            check_orphaned();
            arraySetterHelper(contextArray, CONTEXT$8);
        }
    }
    
    /**
     * Sets ith "context" element
     */
    public void setContextArray(int i, java.lang.String context)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(CONTEXT$8, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            target.setStringValue(context);
        }
    }
    
    /**
     * Sets (as xml) array of all "context" element
     */
    public void xsetContextArray(org.apache.xmlbeans.XmlString[]contextArray)
    {
        synchronized (monitor())
        {
            check_orphaned();
            arraySetterHelper(contextArray, CONTEXT$8);
        }
    }
    
    /**
     * Sets (as xml) ith "context" element
     */
    public void xsetContextArray(int i, org.apache.xmlbeans.XmlString context)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_element_user(CONTEXT$8, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            target.set(context);
        }
    }
    
    /**
     * Inserts the value as the ith "context" element
     */
    public void insertContext(int i, java.lang.String context)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = 
                (org.apache.xmlbeans.SimpleValue)get_store().insert_element_user(CONTEXT$8, i);
            target.setStringValue(context);
        }
    }
    
    /**
     * Appends the value as the last "context" element
     */
    public void addContext(java.lang.String context)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().add_element_user(CONTEXT$8);
            target.setStringValue(context);
        }
    }
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "context" element
     */
    public org.apache.xmlbeans.XmlString insertNewContext(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().insert_element_user(CONTEXT$8, i);
            return target;
        }
    }
    
    /**
     * Appends and returns a new empty value (as xml) as the last "context" element
     */
    public org.apache.xmlbeans.XmlString addNewContext()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().add_element_user(CONTEXT$8);
            return target;
        }
    }
    
    /**
     * Removes the ith "context" element
     */
    public void removeContext(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(CONTEXT$8, i);
        }
    }
    
    /**
     * Gets the "caseSensitive" element
     */
    public boolean getCaseSensitive()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(CASESENSITIVE$10, 0);
            if (target == null)
            {
                return false;
            }
            return target.getBooleanValue();
        }
    }
    
    /**
     * Gets (as xml) the "caseSensitive" element
     */
    public org.apache.xmlbeans.XmlBoolean xgetCaseSensitive()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlBoolean target = null;
            target = (org.apache.xmlbeans.XmlBoolean)get_store().find_element_user(CASESENSITIVE$10, 0);
            return target;
        }
    }
    
    /**
     * Sets the "caseSensitive" element
     */
    public void setCaseSensitive(boolean caseSensitive)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(CASESENSITIVE$10, 0);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_element_user(CASESENSITIVE$10);
            }
            target.setBooleanValue(caseSensitive);
        }
    }
    
    /**
     * Sets (as xml) the "caseSensitive" element
     */
    public void xsetCaseSensitive(org.apache.xmlbeans.XmlBoolean caseSensitive)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlBoolean target = null;
            target = (org.apache.xmlbeans.XmlBoolean)get_store().find_element_user(CASESENSITIVE$10, 0);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlBoolean)get_store().add_element_user(CASESENSITIVE$10);
            }
            target.set(caseSensitive);
        }
    }
}
